<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Fluid Survival Tool: TimedDiagram Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Fluid Survival Tool
   &#160;<span id="projectnumber">0.01</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classTimedDiagram-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">TimedDiagram Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:adf699c8fddf11d5357faf2ef29bddd7c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf699c8fddf11d5357faf2ef29bddd7c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setModel</b> (<a class="el" href="structModel.html">Model</a> *model)</td></tr>
<tr class="separator:adf699c8fddf11d5357faf2ef29bddd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7055f706b0c2444185e8d5d878626523"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7055f706b0c2444185e8d5d878626523"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:a7055f706b0c2444185e8d5d878626523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55bc9188cb14b08bc95dde3778579f90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#a55bc9188cb14b08bc95dde3778579f90">generateDiagram</a> (<a class="el" href="structMarking.html">Marking</a> *initialMarking)</td></tr>
<tr class="separator:a55bc9188cb14b08bc95dde3778579f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed76b48c2a65ee7ea16a393de058e581"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#aed76b48c2a65ee7ea16a393de058e581">computeNextEvents</a> (std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *potentialEvents, <a class="el" href="classSegment.html">Segment</a> *uSegment, std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *nextEvents)</td></tr>
<tr class="memdesc:aed76b48c2a65ee7ea16a393de058e581"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes the minimum of input event lines set, in the t-s frame. It returns the sorted resulting segments. TODO: consider multiple events at the same time.  <a href="#aed76b48c2a65ee7ea16a393de058e581">More...</a><br/></td></tr>
<tr class="separator:aed76b48c2a65ee7ea16a393de058e581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51004d1d8a2ae7d80a089a54ecf93fec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51004d1d8a2ae7d80a089a54ecf93fec"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SegmentizeDtrmRegion</b> (<a class="el" href="structMarking.html">Marking</a> *marking)</td></tr>
<tr class="separator:a51004d1d8a2ae7d80a089a54ecf93fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d8af4ac9f2e51d12b6ae23b8c506c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#aa8d8af4ac9f2e51d12b6ae23b8c506c1">segmentizeStochasticRegion</a> (<a class="el" href="structMarking.html">Marking</a> *marking, <a class="el" href="structStochasticEvent.html">StochasticEvent</a> *eventLine, double timeBias)</td></tr>
<tr class="separator:aa8d8af4ac9f2e51d12b6ae23b8c506c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ef38a01bcffd182224747bd2a96041"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#a45ef38a01bcffd182224747bd2a96041">calProbAtTime</a> (double time, double(*sPdfInt)(double), bool(*isPropHolds)(<a class="el" href="structModel.html">Model</a> *, <a class="el" href="structMarking.html">Marking</a> *, double t0, double t1, double &amp;, double &amp;))</td></tr>
<tr class="separator:a45ef38a01bcffd182224747bd2a96041"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0eafacca33acf296c5bd1219f12fed8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0eafacca33acf296c5bd1219f12fed8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>getNumberOfRegions</b> ()</td></tr>
<tr class="separator:aa0eafacca33acf296c5bd1219f12fed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf699c8fddf11d5357faf2ef29bddd7c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf699c8fddf11d5357faf2ef29bddd7c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setModel</b> (<a class="el" href="structModel.html">Model</a> *model)</td></tr>
<tr class="separator:adf699c8fddf11d5357faf2ef29bddd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7055f706b0c2444185e8d5d878626523"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7055f706b0c2444185e8d5d878626523"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:a7055f706b0c2444185e8d5d878626523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55bc9188cb14b08bc95dde3778579f90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55bc9188cb14b08bc95dde3778579f90"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>generateDiagram</b> (<a class="el" href="structMarking.html">Marking</a> *initialMarking)</td></tr>
<tr class="separator:a55bc9188cb14b08bc95dde3778579f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed76b48c2a65ee7ea16a393de058e581"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#aed76b48c2a65ee7ea16a393de058e581">computeNextEvents</a> (std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *potentialEvents, <a class="el" href="classSegment.html">Segment</a> *uSegment, std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *nextEvents)</td></tr>
<tr class="memdesc:aed76b48c2a65ee7ea16a393de058e581"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes the minimum of input event lines set, in the t-s frame. It returns the sorted resulting segments. TODO: consider multiple events at the same time.  <a href="#aed76b48c2a65ee7ea16a393de058e581">More...</a><br/></td></tr>
<tr class="separator:aed76b48c2a65ee7ea16a393de058e581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51004d1d8a2ae7d80a089a54ecf93fec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51004d1d8a2ae7d80a089a54ecf93fec"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SegmentizeDtrmRegion</b> (<a class="el" href="structMarking.html">Marking</a> *marking)</td></tr>
<tr class="separator:a51004d1d8a2ae7d80a089a54ecf93fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d8af4ac9f2e51d12b6ae23b8c506c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#aa8d8af4ac9f2e51d12b6ae23b8c506c1">segmentizeStochasticRegion</a> (<a class="el" href="structMarking.html">Marking</a> *marking, <a class="el" href="structStochasticEvent.html">StochasticEvent</a> *eventLine, double timeBias)</td></tr>
<tr class="separator:aa8d8af4ac9f2e51d12b6ae23b8c506c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ef38a01bcffd182224747bd2a96041"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#a45ef38a01bcffd182224747bd2a96041">calProbAtTime</a> (double time, double(*sPdfInt)(double), bool(*isPropHolds)(<a class="el" href="structModel.html">Model</a> *, <a class="el" href="structMarking.html">Marking</a> *, double t0, double t1, double &amp;, double &amp;))</td></tr>
<tr class="separator:a45ef38a01bcffd182224747bd2a96041"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a070d39903157613803111d696f54a7d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a070d39903157613803111d696f54a7d0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>saveDiagram</b> (std::string filename)</td></tr>
<tr class="separator:a070d39903157613803111d696f54a7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fadc1d768a55ee74864ee05dc1c7c23"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fadc1d768a55ee74864ee05dc1c7c23"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>getTrEnabledTime</b> () const </td></tr>
<tr class="separator:a5fadc1d768a55ee74864ee05dc1c7c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0eafacca33acf296c5bd1219f12fed8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0eafacca33acf296c5bd1219f12fed8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>getNumberOfRegions</b> ()</td></tr>
<tr class="separator:aa0eafacca33acf296c5bd1219f12fed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a9003646431725e6901bf7eacfd2a3775"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9003646431725e6901bf7eacfd2a3775"></a>
static <a class="el" href="classTimedDiagram.html">TimedDiagram</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getInstance</b> ()</td></tr>
<tr class="separator:a9003646431725e6901bf7eacfd2a3775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a59b6448eae518ed352328cd703ee3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45a59b6448eae518ed352328cd703ee3"></a>
static <a class="el" href="classTimedDiagram.html">TimedDiagram</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getInstance</b> ()</td></tr>
<tr class="separator:a45a59b6448eae518ed352328cd703ee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ad7f4b0079de06896c5e17f59c4fd9a67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7f4b0079de06896c5e17f59c4fd9a67"></a>
<a class="el" href="structModel.html">Model</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>model</b></td></tr>
<tr class="separator:ad7f4b0079de06896c5e17f59c4fd9a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e0edbe8a03e71f0d229891ef4abe11"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classSTDRegion.html">STDRegion</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTimedDiagram.html#a78e0edbe8a03e71f0d229891ef4abe11">regionList</a></td></tr>
<tr class="separator:a78e0edbe8a03e71f0d229891ef4abe11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b56e04641a67753c7a9ef544cab634e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b56e04641a67753c7a9ef544cab634e"></a>
cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><b>debugImage</b></td></tr>
<tr class="separator:a8b56e04641a67753c7a9ef544cab634e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0fdae2d323f9d062946805d7de78a99"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0fdae2d323f9d062946805d7de78a99"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>scale</b></td></tr>
<tr class="separator:ae0fdae2d323f9d062946805d7de78a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a45ef38a01bcffd182224747bd2a96041"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double TimedDiagram::calProbAtTime </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double(*)(double)&#160;</td>
          <td class="paramname"><em>sPdfInt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool(*)(<a class="el" href="structModel.html">Model</a> *, <a class="el" href="structMarking.html">Marking</a> *, double t0, double t1, double &amp;, double &amp;)&#160;</td>
          <td class="paramname"><em>isPropHolds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">time</td><td>The time for which probability calculation is being done. </td></tr>
    <tr><td class="paramname">sPdfInt</td><td>Pointer to the integral pdf of s. </td></tr>
    <tr><td class="paramname">isPropHolds</td><td>Pointer to the function which determines whether a spesific property for a marking holds. This function returns the interval that the property holds. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The probabilty that the given property holds for a given time. </dd></dl>

</div>
</div>
<a class="anchor" id="a45ef38a01bcffd182224747bd2a96041"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double TimedDiagram::calProbAtTime </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double(*)(double)&#160;</td>
          <td class="paramname"><em>sPdfInt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool(*)(<a class="el" href="structModel.html">Model</a> *, <a class="el" href="structMarking.html">Marking</a> *, double t0, double t1, double &amp;, double &amp;)&#160;</td>
          <td class="paramname"><em>isPropHolds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">time</td><td>The time for which probability calculation is being done. </td></tr>
    <tr><td class="paramname">sPdfInt</td><td>Pointer to the integral pdf of s. </td></tr>
    <tr><td class="paramname">isPropHolds</td><td>Pointer to the function which determines whether a spesific property for a marking holds. This function returns the interval that the property holds. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The probabilty that the given property holds for a given time. </dd></dl>

</div>
</div>
<a class="anchor" id="aed76b48c2a65ee7ea16a393de058e581"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TimedDiagram::computeNextEvents </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *&#160;</td>
          <td class="paramname"><em>potentialEvents</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classSegment.html">Segment</a> *&#160;</td>
          <td class="paramname"><em>uSegment</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *&#160;</td>
          <td class="paramname"><em>nextEvents</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function takes the minimum of input event lines set, in the t-s frame. It returns the sorted resulting segments. TODO: consider multiple events at the same time. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">potentialEvents</td><td>List of possible next events. </td></tr>
    <tr><td class="paramname">uSegment</td><td>underlying segment. </td></tr>
    <tr><td class="paramname">start</td><td>Beginning of working interval. </td></tr>
    <tr><td class="paramname">end</td><td>End of working interval. </td></tr>
    <tr><td class="paramname">nextEvents</td><td>List computed next events, depending on the value of <img class="formulaInl" alt="$ s$" src="form_4.png"/>. \ Have in mind this list is sorted by the value of <img class="formulaInl" alt="$ s$" src="form_4.png"/>. This means that the first element of the list is the one happening by lower value of <img class="formulaInl" alt="$ s$" src="form_4.png"/> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aed76b48c2a65ee7ea16a393de058e581"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TimedDiagram::computeNextEvents </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *&#160;</td>
          <td class="paramname"><em>potentialEvents</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classSegment.html">Segment</a> *&#160;</td>
          <td class="paramname"><em>uSegment</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structStochasticEvent.html">StochasticEvent</a> * &gt; *&#160;</td>
          <td class="paramname"><em>nextEvents</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function takes the minimum of input event lines set, in the t-s frame. It returns the sorted resulting segments. TODO: consider multiple events at the same time. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">potentialEvents</td><td>List of possible next events. </td></tr>
    <tr><td class="paramname">uSegment</td><td>underlying segment. </td></tr>
    <tr><td class="paramname">start</td><td>Beginning of working interval. </td></tr>
    <tr><td class="paramname">end</td><td>End of working interval. </td></tr>
    <tr><td class="paramname">nextEvents</td><td>List computed next events, depending on the value of <img class="formulaInl" alt="$ s$" src="form_4.png"/>. \ Have in mind this list is sorted by the value of <img class="formulaInl" alt="$ s$" src="form_4.png"/>. This means that the first element of the list is the one happening by lower value of <img class="formulaInl" alt="$ s$" src="form_4.png"/> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a55bc9188cb14b08bc95dde3778579f90"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TimedDiagram::generateDiagram </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structMarking.html">Marking</a> *&#160;</td>
          <td class="paramname"><em>initialMarking</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Generating the stochastic (top of <img class="formulaInl" alt="$ t = s $" src="form_3.png"/> line) part of diagram.</p>
<p>The reason for (- startPoint.Y) is that we should shift the time to the frame with origin at (startPoint.Y, startPoint.Y). (This is how the algorithm is designed, there are other ways too!!)</p>

</div>
</div>
<a class="anchor" id="aa8d8af4ac9f2e51d12b6ae23b8c506c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TimedDiagram::segmentizeStochasticRegion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structMarking.html">Marking</a> *&#160;</td>
          <td class="paramname"><em>marking</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structStochasticEvent.html">StochasticEvent</a> *&#160;</td>
          <td class="paramname"><em>eventLine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>timeBias</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">marking</td><td>Current marking of the system. </td></tr>
    <tr><td class="paramname">eventLine</td><td>This is the equation of the lower boundary of region we wish to segmentize. \ Have in mind that this is a segment so it has the validity interval in itself.</td></tr>
  </table>
  </dd>
</dl>
<p>Each (potential) region to be segmentized at first consists of starting and ending for 's' (like the previous intervals), and an event line, which specifies the equation for <img class="formulaInl" alt="$t$" src="form_5.png"/> (the time after which the event has occurred) depending on <img class="formulaInl" alt="$s$" src="form_6.png"/>. This function recursively segmentize such regions, by finding linear equations of all the possible next events. Note 1 : It is assumed that this function is called only for the upper part of st-diagram (when the general transition is fired.) Note 2 : Remember that initial marking for this function to start should be such that general transition is fired. </p>

</div>
</div>
<a class="anchor" id="aa8d8af4ac9f2e51d12b6ae23b8c506c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TimedDiagram::segmentizeStochasticRegion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structMarking.html">Marking</a> *&#160;</td>
          <td class="paramname"><em>marking</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structStochasticEvent.html">StochasticEvent</a> *&#160;</td>
          <td class="paramname"><em>eventLine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>timeBias</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">marking</td><td>Current marking of the system. </td></tr>
    <tr><td class="paramname">eventLine</td><td>This is the equation of the lower boundary of region we wish to segmentize. We expect this event to contain its parent region.\ Have in mind that this is a segment so it has the validity interval in itself.</td></tr>
  </table>
  </dd>
</dl>
<p>Each (potential) region to be segmentized at first consists of starting and ending for 's' (like the previous intervals), and an event line, which specifies the equation for <img class="formulaInl" alt="$t$" src="form_5.png"/> (the time after which the event has occurred) depending on <img class="formulaInl" alt="$s$" src="form_6.png"/>. This function recursively segmentize such regions, by finding linear equations of all the possible next events. Note 1 : It is assumed that this function is called only for the upper part of st-diagram (when the general transition is fired.) Note 2 : Remember that initial marking for this function to start should be such that general transition is fired. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a78e0edbe8a03e71f0d229891ef4abe11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classSTDRegion.html">STDRegion</a>*&gt; TimedDiagram::regionList</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This vector contains list of region after firing of general transition, i.e. at the top of ts-line. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>model/old/<a class="el" href="old_2TimedDiagram_8h_source.html">TimedDiagram.h</a></li>
<li>model/<a class="el" href="TimedDiagram_8h_source.html">TimedDiagram.h</a></li>
<li>model/old/TimedDiagram.cpp</li>
<li>model/TimedDiagram.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Apr 10 2013 11:10:04 for Fluid Survival Tool by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>
